import React, { PureComponent } from 'react';

// 高阶组件是参数为组件，返回值为新组件的函数。

function higherOrderComponent(WrapperComponent) {
  class NewComponent extends PureComponent {
    render(){
      return <WrapperComponent {...this.props} />
    }
  }
  // displayName 控制组件在开发者工具中显示的名称 
  NewComponent.displayName = "kkk"
  return NewComponent
}

class App extends PureComponent {
  render() {
    return (
      <div>
        App:{this.props.name}
      </div>
    );
  }
}


export default higherOrderComponent(App);